Search results for "Abstract syntax"

showing 7 items of 7 documents

Metamodel specialization for graphical modeling language support

2016

Most of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally -- by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for defining the graphical syntax of UML. This formalism is based on Diagram Definition standard by OMG, where the main emphasis is on enabling diagram interchange between different tools implementing the given language. While this is crucial for standardized languages such as UML, this aspect is not so important for domain specific languages. In this paper an approach is offered for simple direct definition of concrete graphical syntax by means of met…

Domain-specific languageModeling languageProgramming languageComputer science020207 software engineering02 engineering and technology010501 environmental sciencescomputer.software_genre01 natural sciencesMetamodelingLanguage definitionDigital subscriber lineUnified Modeling LanguageAbstract syntax0202 electrical engineering electronic engineering information engineeringSoftware_PROGRAMMINGLANGUAGESGraphicscomputer0105 earth and related environmental sciencescomputer.programming_languageProceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems
researchProduct

Metamodel Specialization for DSL Tool Building

2016

Most of domain-specific tool building and especially diagram editor building nowadays involves some usage of metamodels. However normally the metamodel alone is not sufficient to define an editor. Frequently the metamodel just defines the abstract syntax of the domain, mappings or transformations are required to define the editor. Another approach [8] is based on a fixed type metamodel, there an editor definition consists of an instance of this metamodel to be executed by an engine. However there typically a number of functionality extensions in a transformation language is required. The paper offers a new approach based on metamodel specialization. First the metamodel specialization based …

FlowchartTheoretical computer scienceComputingMethodologies_SIMULATIONANDMODELINGComputer scienceProgramming languagecomputer.software_genreTransformation languagelaw.inventionMetamodelingDomain (software engineering)Unified Modeling LanguageSoftware_SOFTWAREENGINEERINGlawAbstract syntaxSpecialization (logic)Class diagramSoftware_PROGRAMMINGLANGUAGEScomputercomputer.programming_language
researchProduct

Teaching computer language handling - From compiler theory to meta-modelling

2011

Published version of a chapter in the book: Generative and Transformational Techniques in Software Engineering III. Also available from the publisher at: http://dx.doi.org/10.1007/978-3-642-18023-1_14 Most universities teach computer language handling by mainly focussing on compiler theory, although MDA (model-driven architecture) and meta-modelling are increasingly important in the software industry as well as in computer science. In this article, we investigate how traditional compiler theory compares to meta-modelling with regard to formally defining the different aspects of a language, and how we can expand the focus in computer language handling courses to also include meta-model-based…

Graph rewritingFocus (computing)SoftwareCompiler constructionbusiness.industryProgramming languageComputer scienceAbstract syntaxVDP::Technology: 500::Information and communication technology: 550Architecturebusinesscomputer.software_genrecomputer
researchProduct

Lua Code: Security Overview and Practical Approaches to Static Analysis

2017

Lua is an interpreted, cross-platform, embeddable, performant and low-footprint language. Lua's popularity is on the rise in the last couple of years. Simple design and efficient usage of resources combined with its performance make it attractive for production web applications even to big organizations such as Wikipedia, CloudFlare and GitHub. In addition to this, Lua is one of the preferred choices for programming embedded and IoT devices. This context allows to assume a large and growing Lua codebase yet to be assessed. This growing Lua codebase could be potentially driving production servers and extremely large number of devices, some perhaps with mission-critical function for example i…

JavaComputer sciencevulnerabilityStatic program analysis02 engineering and technologyLuaJavaScriptSecurity testingohjelmointikielet020204 information systemsprogramming languages0202 electrical engineering electronic engineering information engineeringWeb applicationtietoturvadata securityhaavoittuvuuscomputer.programming_languageCodebaseta113business.industryComputingMilieux_PERSONALCOMPUTING020207 software engineeringPython (programming language)Static analysisAbstract syntax treeSoftware engineeringbusinesscomputer
researchProduct

Abstract Syntax as Interlingua: Scaling Up the Grammatical Framework from Controlled Languages to Robust Pipelines

2020

Abstract syntax is an interlingual representation used in compilers. Grammatical Framework (GF) applies the abstract syntax idea to natural languages. The development of GF started in 1998, first as a tool for controlled language implementations, where it has gained an established position in both academic and commercial projects. GF provides grammar resources for over 40 languages, enabling accurate generation and translation, as well as grammar engineering tools and components for mobile and Web applications. On the research side, the focus in the last ten years has been on scaling up GF to wide-coverage language processing. The concept of abstract syntax offers a unified view on many oth…

Linguistics and LanguageInterlinguaComputer scienceGrammatical Framework0102 computer and information sciences02 engineering and technologycomputer.software_genre01 natural sciencesLanguage and LinguisticsDevelopment (topology)Artificial IntelligenceAbstract syntax0202 electrical engineering electronic engineering information engineeringScalingProgramming languageRepresentation (systemics)lcsh:P98-98.5language.human_languageComputer Science Applications010201 computation theory & mathematicslanguage020201 artificial intelligence & image processingCompilerlcsh:Computational linguistics. Natural language processingcomputerNatural languageComputational Linguistics
researchProduct

Graphical Template Language for Transformation Synthesis

2010

Higher-Order Transformations (HOT) have become an important support for the development of model transformations in various transformation languages. Most frequently HOTs are used to synthesize transformations from different kinds of models, for example, mapping models. This means that model driven development (MDD) is being successfully applied to transformations themselves too. The standard HOT solution is to create the transformation as a model using the abstract syntax. However, for graphical transformation languages a significantly more efficient solution would be to create the transformation using its graphical (concrete) syntax. An analogy could be the textual template languages such…

Syntax (programming languages)business.industryProgramming languageComputer scienceModel transformationAnalogycomputer.software_genreTransformation languageDevelopment (topology)Concrete syntaxTransformation (function)Abstract syntaxArtificial intelligencebusinesscomputerNatural language processingcomputer.programming_language
researchProduct

Challenges of Program Synthesis with Grammatical Evolution

2020

Program synthesis is an emerging research topic in the field of EC with the potential to improve real-world software development. Grammar-guided approaches like GE are suitable for program synthesis as they can express common programming languages with their required properties. This work uses common software metrics (lines of code, McCabe metric, size and depth of the abstract syntax tree) for an analysis of GE’s search behavior and the resulting problem structure. We find that GE is not able to solve program synthesis problems, where correct solutions have higher values of the McCabe metric (which means they require conditions or loops). Since small mutations of high-quality solutions str…

Theoretical computer scienceSource lines of codebusiness.industryComputer scienceSoftware developmentGenetic programming0102 computer and information sciences02 engineering and technology01 natural sciencesSoftware metric010201 computation theory & mathematicsGrammatical evolutionMetric (mathematics)0202 electrical engineering electronic engineering information engineering020201 artificial intelligence & image processingbusinessAbstract syntax treeProgram synthesis
researchProduct